package org.dromara.bean.service;


import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import org.dromara.bean.domain.HisRegion;
import org.dromara.bean.domain.model.HisRegionModel;
import org.dromara.common.core.domain.R;


import java.util.List;

/**
 * @Description: 地区表
 * @Author: jeecg-boot
 * @Date: 2020-04-27
 * @Version: V1.0
 */
public interface IBaseRegionService extends IService<HisRegion> {
    /**
     * 根据条件查询地区列表
     */
    List<HisRegion> getAppRegionList(String flag);

    /**
     * 查询热门城市列表
     */
    List<HisRegionModel> getIsHotList(String flag, String is_hot);

    /**
     * 查询所有数据
     *
     * @param page
     * @return
     */
    List<HisRegion> getAllRegionList(Page<HisRegion> page, String flag);

    /**
     * 联动查询省市县
     *
     * @param listAll
     * @param regex
     * @return
     */
    List<HisRegion> getRegionListByRegExp(List<HisRegion> listAll, String regex);

    /**
     * 查询所有数据
     *
     * @return
     */
    List<HisRegionModel> listAll();

    /**
     * 查询所有省份
     *
     * @return
     */
    List<HisRegionModel> provinceAll();


    List<HisRegionModel> cityOrArea(Integer id, String region);

    /**
     * 获取详细地址
     *
     * @param regionId
     * @return
     */
    String getAddressByRegionId(Integer regionId);

    R<?> queryPageList(Integer pageNo, Integer pageSize, String regionCode, String flag);

    R<?> isHostList();

    R<?> queryList();

    R<?> queryById(String id);
}
